package cn.edu.scau.cmi.wuzewei.comprehensive;

import cn.edu.scau.cmi.wuzewei.singleton.Multipleton;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.stage.Stage;

public class MultipletonWindow {
	public void newWindow(Stage primaryStage) {
		Group group = new Group();
		
		TextArea textArea1 = new TextArea();
		textArea1.setLayoutX(30);
		textArea1.setLayoutY(30);
		textArea1.setMaxWidth(300);
		textArea1.setMaxHeight(100);
		group.getChildren().add(textArea1);
		
		// 获得Multipleton对象实例
		Multipleton multipleton = Multipleton.getRandomInstance();
		textArea1.setText("multipleton1对象索引: " + multipleton.getNo() + "\n");
				
		// 在次获得Multipleton对象实例
		Multipleton multipleton2 = Multipleton.getRandomInstance();
		textArea1.appendText("multipleton2对象索引: " + multipleton2.getNo() + "\n");
				
		// 比较两个对象是否是同一个对象实例
		if (multipleton == multipleton2) {
			textArea1.appendText("--这是同一个对象！");
		} else {
			textArea1.appendText("--这是不同的对象！");
		}
		
		Scene scene = new Scene(group);
		primaryStage.setTitle("多例模式");
		primaryStage.setWidth(400);
		primaryStage.setHeight(200);
		primaryStage.setScene(scene);
		primaryStage.show();
	}
}
